package com.candy.dao;

import com.candy.bean.LoginInfo;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Test01 {
    public static void main(String[] args) {
//        this\super\static\final\abstract\interface\extend
        test06();
    }

    public static void test06() {
//        使用DBUtils进行数据库操作
//        创建QueryRunner对象，此对象需要指定数据源
//        QueryRunner相当于JDBC中的Statemnt对象，用于执行增删改查操作
        QueryRunner queryRunner=new QueryRunner(DBSourse.getDataSource());
        try {
//            执行查询操作需要调用query方法进行查询
//            query里面需要执行参数：第一个参数为需要执行的sql语句，第二个参数为转储类型
          List<LoginInfo> lb=  queryRunner.query("select * from logininfo",new BeanListHandler<>(LoginInfo.class));
//           将结果进行遍历
            for (LoginInfo login:lb
                 ) {
                System.out.println(login);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }


    }

    public static void test05() {
        List<Map<String,Object>> lp= DBHelper.query4ListMap("SELECT * FROM depts");
//        遍历list集合
        for (Map<String,Object> lpp:lp
             ) {
//            将map中的键值对取出，放在set集合中
            Set<Map.Entry<String,Object>> en=lpp.entrySet();
            for (Map.Entry<String,Object> entry:en
                 ) {
                System.out.print(entry+"\t");
            }
            System.out.println();

        }

    }

    public static void test04() {
//        新增
        try {
            ResultSet re= DBHelper.getInfo("SELECT * FROM logininfo;");
//            遍历查询结果
            while(re.next()){
                  System.out.print(re.getObject(1)+" ");
                  System.out.print(re.getObject(2));
                  System.out.print(re.getObject(3)+" ");
                  System.out.println();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public static void test01() {
//        新增
        int num=DBHelper.update("INSERT INTO logininfo(username,userpwd) VALUES('张三','123456');");
        System.out.println(num);
    }
    public static void test02() {
//        修改
        int num=DBHelper.update("UPDATE logininfo SET userpwd='166666' WHERE id=17;");
        System.out.println(num);
    }
    public static void test03() {
//        删除
        int num=DBHelper.update("delete from logininfo WHERE id=17;");
        System.out.println(num);
    }
}
